package com.icebartech.core.utils;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.FileUtils;
import org.springframework.web.multipart.MultipartFile;

public class FileUpload {

	/**
	 * @param file 			//文件对象
	 * @param filePath		//上传路径
	 * @param fileName		//文件名
	 * @return  文件名
	 */
	public static String fileUp(MultipartFile file, String filePath, String fileName){
		String extName = ""; // 扩展名格式：
		try {
			if (file.getOriginalFilename().lastIndexOf(".") >= 0){
				extName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
			}
			copyFile(file.getInputStream(), filePath, fileName+extName);
		} catch (IOException e) {
			System.out.println(e);
		}
		return fileName+extName;
	}
	
	/**
	 * 写文件到目录中
	 * 
	 * @param in
	 * @param realName
	 * @throws IOException
	 */
	private static void copyFile(InputStream in, String dir, String realName)
		throws IOException {
		File file = new File(dir, realName);
		if (!file.exists()) {
			if (!file.getParentFile().exists()) {
				if (!file.getParentFile().mkdirs())
					return;
				
			}
			if (!file.createNewFile())
				return;
		}
		FileUtils.copyInputStreamToFile(in, file);
	}
	
	/**
	 * 删除文件
	 * @param path
	 * @return
	 * @throws IOException
	 */
	public static boolean delFile(String path) throws IOException {
		boolean flag = true;  
		File file = new File(path);  
	    // 路径为文件且不为空则进行删除  
	    if (file.isFile() && file.exists()) {  
	    	flag = file.delete();  
	    }  
	    return flag;
	}
}
